package pe.com.pev.gestiondocente.domain;

import java.sql.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import pe.com.pev.core.domain.EntidadBase;
import pe.com.pev.mantenimiento.domain.Tabla;
import pe.com.pev.util.Constantes;
/**
 * 
 * @author e
 *
 */
/**
 * @author Eduardo *
 */
@Entity
@Table(name="TEWTEST_PROFESOR",schema="EWTEST")
/*@NamedQueries({
	@NamedQuery(name="listaPadres", 
			query = " from Modulo where tipoModulo.id in ("+
					Constantes.VAL_TIPO_MODULO_STRING+","+
					Constantes.VAL_TIPO_OPCION_STRING+") and estado ='"+
					Constantes.VAL_ACTIVO+"' order by superior.id"),				
})*/
@SequenceGenerator(name="SEQ_PROFESOR",
				   initialValue=1,
				   allocationSize=1,
				   sequenceName="EWTEST.SEQ_PROFESOR")
public class Profesor extends EntidadBase{

	
	/**
	 * 
	 */
	private static final long serialVersionUID = -1293947205381901444L;

	/** 
	 * pk de la base de datos 
	 **/
	private Long id;
	   
	/** 
	 * codigo unico de la identidad 
	 **/
	private String nombres;
	   
	/** 
	 * nombre del modulo sub modulo u opcion 
	 **/
	private String apellidoPaterno;
	private String apellidoMaterno;
	private String direccion;
	private String telefono;
	private String correo;
	private String genero;
	private String curso;
	private Date fechaNacimiento;
	

	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_PROFESOR")
//	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="ID_PROFESOR")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name="NOMBRES", length=30, nullable=true)
	public String getNombres() {
		return nombres;
	}

	public void setNombres(String nombres) {
		this.nombres = nombres;
	}
	@Column(name="APELLIDO_PATERNO", length=30, nullable=true)
	public String getApellidoPaterno() {
		return apellidoPaterno;
	}

	public void setApellidoPaterno(String apellidoPaterno) {
		this.apellidoPaterno = apellidoPaterno;
	}

	@Column(name="APELLIDO_MATERNO", length=30, nullable=true)
	public String getApellidoMaterno() {
		return apellidoMaterno;
	}

	public void setApellidoMaterno(String apellidoMaterno) {
		this.apellidoMaterno = apellidoMaterno;
	}

	@Column(name="DIRECCION", length=60, nullable=true)
	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	@Column(name="TELEFONO", length=20, nullable=true)
	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	@Column(name="CORREO", length=60, nullable=true)
	public String getCorreo() {
		return correo;
	}

	public void setCorreo(String correo) {
		this.correo = correo;
	}

	@Column(name="GENERO", length=20, nullable=true)
	public String getGenero() {
		return genero;
	}

	public void setGenero(String genero) {
		this.genero = genero;
	}
	
	@Column(name="CURSO", length=20, nullable=true)
	public String getCurso() {
		return curso;
	}

	public void setCurso(String curso) {
		this.curso = curso;
	}
	
	@Column(name="FECHA_NACIMIENTO", nullable=true)
	public Date getFechaNacimiento() {
		return fechaNacimiento;
	}

	public void setFechaNacimiento(Date fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}
	}
